home *** CD-ROM | disk | FTP | other *** search
/ Celestin Apprentice 5 / Apprentice-Release5.iso / Source Code / PowerPlant / AGA Classes 1.2 / Buttons / LAGAStateIconButton.h < prev    next >
Encoding:
Text File  |  1996-06-30  |  3.3 KB  |  89 lines  |  [TEXT/CWIE]

  1. // ===========================================================================
  2. //    LAGAStateIconButton.h
  3. // ===========================================================================
  4. //    “Apple Grayscale Appearance” compliant (almost) state icon button
  5. //    Copyright © 1996 Chrisoft (Christophe ANDRES)  All rights reserved.
  6. //
  7. //    You may use this source code in any application (commercial, shareware, freeware,
  8. //    postcardware, etc), but not remove this notice (no need to acknowledge the use of
  9. //    this class in the about box)
  10. //    You may not sell this source code in any form. This source code may be placed on 
  11. //    publicly accessable archive sites and source code disks. It may not be placed on 
  12. //    profit archive sites and source code disks without the permission of the author, 
  13. //    Christophe ANDRES.
  14. //    
  15. //        This source code is distributed in the hope that it will be useful,
  16. //        but WITHOUT ANY WARRANTY; without even the implied warranty of
  17. //        MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
  18. //
  19. //    If you make any change or improvement on this class, please send the improved/changed
  20. //    version to : chrisoft@calva.net or Christophe ANDRES
  21. //                                     20, rue Prosper Mérimée
  22. //                                     67100 STRASBOURG
  23. //                                     FRANCE
  24. //
  25. // ===========================================================================
  26. //    LAGAStateIconButton.cp            <- double-click + Command-D to see class implementation
  27. //
  28. //    LAGAStateIconButton is a subclass of LAGAIconButton, and enables the button to use
  29. //        up to three different icons (states), and to use them in a standard way (pushed,
  30. //        disabled, radio behavior)
  31. //
  32. //        see the comments in LAGAIconButton.h
  33. //
  34. //        Version : 1.2
  35. //
  36. //        Change History (most recent first, date in US form : mm/dd/yy):
  37. //
  38. //                        06/30/96    ca        Public release of version 1.2
  39. //                        06/04/96    ca        Added static RegisterClass for easier class registration
  40. //                                                        Added guard macros in header files
  41. //                                                        Increased version to 1.2
  42. //                        05/15/96    ca        Increased version to 1.1
  43. //                                                        Added copy constructor
  44. //                                                        Added "on the fly" constructor
  45. //                                                        Added change history
  46. //                        04/22/96    ca        class made available by Christophe ANDRES <chrisoft@calva.net>
  47. //                                                        (version 1.0)
  48. //
  49. //        To Do:
  50. //
  51.  
  52. #ifndef _H_LAGAStateIconButton
  53. #define _H_LAGAStateIconButton
  54. #pragma once
  55.  
  56. #include    "LAGAIconButton.h"
  57.  
  58. class    LAGAStateIconButton : public LAGAIconButton
  59. {
  60.     public        :
  61.         enum { class_ID = '3DsT' };
  62.         static void RegisterClass ();                                                                                                                                                            //    <06/04/96    ca>
  63.         static LAGAStateIconButton* CreateAGAStateIconButtonStream (LStream *inStream);
  64.     
  65.         LAGAStateIconButton ();
  66.         
  67.         LAGAStateIconButton (LStream *inStream);
  68.         
  69.         LAGAStateIconButton (const LAGAStateIconButton &inOriginal);                                                                                            //    <05/15/96 ca>
  70.         
  71.         LAGAStateIconButton (const SPaneInfo &inPaneInfo, MessageT inClickedMessage, OSType inIconType,                        //    <05/15/96 ca>
  72.                                                     ResIDT inIconState1, ResIDT inIconState2, ResIDT inIconState3,
  73.                                                     Boolean inRadioButtonBehavior);
  74.                                                     
  75.         virtual ~LAGAStateIconButton ();
  76.         
  77.         virtual void SetState (Int32 inValue);
  78.         
  79.     protected    :
  80.         virtual short GetIconID ();
  81.         
  82.         Int32 mState;
  83.         
  84.         short mIconID2;
  85.         short mIconID3;
  86. };
  87.  
  88. #endif
  89.